package com.fortune.dao;

import com.fortune.dto.in.mStoreDeficit.MStoreDeficitAddDto;
import com.fortune.dto.in.mStoreDeficit.MStoreDeficitEditDto;
import com.fortune.dto.in.mStoreDeficit.MStoreDeficitInfoDto;
import com.fortune.dto.in.mStoreDeficit.MStoreDeficitListDto;
import com.fortune.vo.mStoreDeficit.MStoreDeficitInfo;
import com.fortune.vo.mStoreDeficit.MStoreDeficitInfoDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MStoreDeficitDao {

    /**
     * 新增报亏单base
     * @param companyId
     * @param uuid
     * @param uid
     * @param addDto
     * @return
     */
    int addDeficitBase(@Param("companyId") String companyId,@Param("uuid") String uuid,@Param("uid") String uid, @Param("addDto")MStoreDeficitAddDto addDto);

    /**
     * 新增报亏单商品
     * @param companyId
     * @param uuid
     * @param infoDto
     * @return
     */
    int addDeficitDetail(@Param("companyId") String companyId,@Param("uuid") String uuid,@Param("infoDto") MStoreDeficitInfoDto infoDto);

    /**
     * 查询报亏列表
     * @param companyId
     * @return
     */
    List<MStoreDeficitInfo> findDeficitList(@Param("companyId") String companyId,@Param("mStoreDeficitListDto")MStoreDeficitListDto mStoreDeficitListDto);


    /**
     * 查询报亏列表数量
     * @param companyId
     * @param mStoreDeficitListDto
     * @return
     */
    int findDeficitListCount(@Param("companyId") String companyId,@Param("mStoreDeficitListDto")MStoreDeficitListDto mStoreDeficitListDto);


    /**
     * 查询报亏商品详情
     * @param companyId
     * @param deficitId
     * @return
     */
    MStoreDeficitInfoDetail findDeficitInfo(@Param("companyId")String companyId,@Param("deficitId") String deficitId);


    /**
     * 确认报亏
     * @param companyId
     * @param dealerId
     * @param uuid
     * @return
     */
    int editMStoreDeficitConfirm(@Param("companyId") String companyId, @Param("uuid") String uuid,@Param("operatorId") String operatorId);

    /**
     * 删除
     * @param companyId
     * @param dealerId
     * @param uuid
     * @return
     */
    int deleteMStoreDeficit(@Param("companyId") String companyId, @Param("uuid") String uuid);

    /**
     * 编辑报亏单base
     * @param companyId
     * @param addDto
     * @return
     */
    int editDeficitBase(@Param("companyId") String companyId,@Param("editDto") MStoreDeficitEditDto editDto);

    /**
     * 编辑报亏单商品
     * @param companyId
     * @param uuid
     * @param infoDto
     * @return
     */
    int deleteInfo(@Param("companyId") String companyId,@Param("uuid") String uuid);

}
